package cn.iocoder.yudao.module.erp.controller.admin.planinfo.vo;

import lombok.*;

import java.time.LocalDate;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 每日计划分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class PlanInfoPageReqVO extends PageParam {

    @Schema(description = "公司", example = "5674")
    private Long companyId;

    @Schema(description = "计划日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDate[] nowTime;

    @Schema(description = "上载点", example = "32367")
    private Long upId;

    @Schema(description = "下载点", example = "20875")
    private Long downloadId;

    @Schema(description = "托运方式"  )
    private Integer checkType;

    @Schema(description = "托运商")
    private String checkCompany;

    @Schema(description = "气源")
    private String gasResource;

    @Schema(description = "利润")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] profit;

    @Schema(description = "销售客户", example = "5563")
    private Long saleCustomerId;

    @Schema(description = "销售单价（元/方）", example = "30134")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] salePrice;

    @Schema(description = "实际销售单价（元/方）", example = "14843")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] saleRealPrice;

    @Schema(description = "提报数量（万方）", example = "14364")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] saleSubCount;

    @Schema(description = "下载量（万方）", example = "24223")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] saleRealCount;

    @Schema(description = "实际销售金额（元）", example = "15750")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] saleAllCount;

    @Schema(description = "销售合同", example = "8563")
    private Long saleContractId;

    @Schema(description = "采购合同", example = "8563")
    private Long buyContractId;



    @Schema(description = "销售对账状态"  )
    private Integer saleAccountStatus;

    @Schema(description = "销售发票状态")
    private Integer saleBillStatus;

    @Schema(description = "采购客户", example = "16230")
    private Long buyCustomerId;

    @Schema(description = "采购单价（元/方）", example = "17797")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] buyPrice;

    @Schema(description = "采购居间费（元/方）", example = "31282")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] buyOtherPrice;

    @Schema(description = "实际采购单价（元/方）", example = "19079")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] buyRealPrice;

    @Schema(description = "提报数量（万方）", example = "24205")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] buySubCount;

    @Schema(description = "下载量（万方）", example = "20424")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] buyRealCount;

    @Schema(description = "实际采购金额（元）", example = "130")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private BigDecimal[] buyAllCount;

    @Schema(description = "采购对账状态"  )
    private Integer buyAccountStatus;

    @Schema(description = "采购发票状态")
    private Integer buyBillStatus;

    @Schema(description = "状态"  )
    private Integer status;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}